У меня есть много пользователей, имеющих один статус. По какой-то причине я не могу получить статусы для сохранения, используя действие create в контроллере состояния. Я предполагаю, что проблема связана с одной ассоциацией, потому что я новичок в ней, но я могу ошибаться.Имеет одну ассоциацию - метод создания контроллера
Настоящий рабочий код.
Модель пользователя:
has_one :status, dependent: :destroy
Статус модели:
attr_accessible :content
belongs_to :user
validates :user_id, presence: true
validates :content, presence: true, length: { maximum: 250 }
Статус контроллера:
def create
@new_status = current_user.build_status(param[:status])
if @new_status.save
flash[:success] = "Status posted!"
redirect_to :back
else
flash[:error] = "Status couldn't save"
redirect_to :back
end
end
пользователя контроллера:
def show
@user = User.find(params[:id])
@status = @user.status
@new_status = current_user.build_status
end
пользователя/Показать:
<%= render 'shared/status_form' if @user == current_user %>
Shared/Status_form:
<%= form_for[@new_status], :url => user_status_path(current_user) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<div class="field">
<%= f.text_area :content, id:"status_box", placeholder: "Status?" %>
</div>
<%= f.submit "Update", id:"status_btn", class: "btn btn-small btn-primary" %>
<% end %>
Маршруты:
resources :users do
resource :status, only: [:create, :destroy]
end
Я знаю, что это много, чтобы посмотреть, но я очень ценю помощь, спасибо ,
, когда я делаю, что я странно получить неопределенный метод "спасти" от линии, если @ status.save потому что в этом случае нечего экономить? current_user.status будет пустым, не так ли? – Jaqx