как обратиться к конкретному контроллеру в операторе if и else - PullRequest
0 голосов
/ 02 июня 2018

Как определить конкретный контроллер для выполнения определенного действия в операторе if and else?

if [controller.rb] == [controller name]
 do something
end

Я знаю, что в отношении определенного действия в контроллере можно сделать следующее:

<% if action_name == 'new'  %>
          <span>create event</span>
        <% else %>
          <span>update event</span>
        <% end %>

но например.в моих комментариях контроллера для имени действия «создать» я хочу заявить что-то вроде этого:

      def create
        @comment = @commentable.comments.new(comment_params)
        @comment.user = current_user

        if [controller name]
         @discussion = Discussion.friendly.find(params[:discussion_id])
        elsif [controller name]
         @pratical = Pratical.friendly.find(params[:pratical_id])
        end

        respond_to do |format|
          if @comment.save
            format.html { redirect_to [@commentable], notice: 'Comment was successfully posted.' }
            format.json { render :show, status: :created, location: @comment }
          else
            format.html { redirect_to :back, alert: 'Comment was not posted.' }
            format.json { render json: @comment.errors, status: :unprocessable_entity }
          end
        end
      end

Как я ссылаюсь на конкретный контроллер?

1 Ответ

0 голосов
/ 02 июня 2018

controller_name == 'posts' - это то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...