Thanks to @unixmonkey and @jqr, I can now add, view and destroy items, linking to the items index page from a menu partial that is called from the character's show page. Success! However, I thought it might be handy to be able to edit items. And that's where my problem comes in. For a while, I was getting a routing error. Then I edited the code and now I'm getting this old chestnut again:
undefined method `item' for #<Character:0x103f0ce50>
What gives? I thought I'd gotten rid of this guy when I defined the character in the items controller.
Here's my edit method from the items controller:
def edit
@character = Character.find(params[:character_id])
@item = @character.item
end
def update
@character = Character.find(params[:character_id])
@item = @character.statistic
if @item.update_attributes(params[:item])
redirect_to character_items_path, :notice => 'Item was successfully updated.'
else
render :action => "edit"
end
end
And here's how I'm calling it from the partial I created for creating and editing items:
<%= link_to 'Edit', edit_character_item_path(@character, item) %>
Any more tips? I'm pretty sure I'm just not writing this correctly. This code is based on what I've got for my other models (statistics, armor class, etc) but I wonder if it might be different based on a couple of things. For one thing, those other models have a has_one relationship with Character, while Items has a has_many. For another, the has_one models are all displayed in the Character show page, while Items is being created from the Items index page. Am I on the right track here? Any advice as to how to solve this issue?
On a less begging for help note, I've spent a good 5 hours working on Manticore this weekend. I notice when I'm working on a personal project and not a tutorial, I can focus for longer periods of time and I find the work more interesting. When doing a tutorial, I feel like it's a valuable use of my time but it's not an interesting use of my time. Does that make sense? Regardless, I absolutely lose track of time when working on my own projects, even if it's just repeatedly butting my head up against trying to get a goddamn edit method to work.